;(function(){
//功能按钮监听事件
$(".menu_buttons .menu_3").on("click",function(){
	  var node=$(this);
    $("#myModalTitle").text(node.text());
    if(node.text().indexOf("新增")>-1){
        $("#myModalBody").load(node.attr("data-url"),function(){
            $("#myModal").modal("show");
        });
    }else if(node.text().indexOf("修改")>-1){
        var $ids=[];
        $("#data-table input[name='ids']:checked").each(function(){
            $ids.push($(this).val());
        });
        if($ids.length!=1){
            toastr['error']("请选择一项","");
            return false;
        }else{
            $("#myModalBody").load(node.attr("data-url"),{"id":$ids[0]},function(){
                $("#myModal").modal("show");
            });
        }
    }
    else if(node.text().indexOf("删除")>-1){
        var $ids=[];
        var url=node.attr("data-url");
        $("#data-table input[name='ids']:checked").each(function(){
            $ids.push($(this).val());
        });
        if($ids.length<1){
            toastr['error']("请至少选择一项","");
            return false;
        }else{
            url=url+"/ids/"+$ids;
            delete_dialog(url);
            return false;
        }
    }else if(node.text().indexOf("解绑")>-1){
        var $ids=[];
        var url=node.attr("data-url");
        var flag = 1;
        $("#data-table input[name='ids']:checked").each(function(){
            if ($(this).parent().parent().find('.cabinet_status').attr('data-status') != 3) {
                toastr['error']("租柜编号：" + $(this).val() +"不是未解绑状态, 请退柜或到期后再进行解绑","");
                flag = 0;
                return false;
            } else {
                $ids.push($(this).val());
            }

        });
        if (flag) {
            if($ids.length<1){
                toastr['error']("请至少选择一项","");
                return false;
            }else{
                url=url+"/ids/"+$ids;
                untie_dialog(url);
                return false;
            }
        }

    }else{
        toastr['success']("操作成功");
    }
});
    /**点击删除按钮 弹出框*/
    function untie_dialog(url,msg,refresh){
        if(refresh=='undefined'||refresh==null){
            refresh=true;
        }
        var $msg=msg;
        var $title='';
        if($msg==null||$msg=='undifined'||$msg==''){
            $msg='您确定要解绑吗';
            $title='解绑';
        }else{
            $msg='您确定要操作吗';
            $title='操作';
        }
        bootbox.dialog({
            message:$msg,
            title: $title,
            className:"delete_dialog",
            buttons: {
                success: {
                    label: "取消",
                    className: "btn-default",
                    callback: function() {

                    }
                },
                danger: {
                    label: "确定",
                    className: "btn-danger",
                    callback: function() {
                        $.post(
                            url,
                            function(data){
                                if(data.flag){
                                    toastr['success']("操作成功");
                                    if(refresh){
                                        $("#myform #btn-advanced-refresh").trigger("click");// 刷新页面
                                    }
                                }else{
                                    toastr['error'](data.msg,"操作失败");
                                }
                            }
                        )
                    }
                }
            }
        });
    }
///////////////////////数据表格////////////////////////////
//统一点击删除弹出对话框
	var userManage = {
		
    currentItem : null,
    fuzzySearch : false,
    getQueryCondition : function(data) {
		  var param = {};
	        //组装排序参数
	        if (data.order&&data.order.length&&data.order[0]) {
	            switch (data.order[0].column) {
	            }
	            param.orderDir = data.order[0].dir;
	        }
	        //组装查询参数
						param.cabinet_no= $("#myform #cabinet_no").val();
						param.region_id= $("#myform #region_id").val();
                        param.status= $("#myform #status").val();
						
	        //组装分页参数
	        param.startIndex = data.start;
	        param.pageSize = data.length;
	        return param;
	},

	}
	
    var $table = $('#data-table');
    var _table = $table.dataTable($.extend(true,{},CONSTANT.DATA_TABLES.DEFAULT_OPTION, {
        ajax : function(data, callback, settings) {//ajax配置为function,手动调用异步查询
            //手动控制遮罩
            //封装请求参数
            var param = userManage.getQueryCondition(data);
             $("#excel_param").val($.param(param));
            loading();
            $.ajax({
                    type: "GET",
                    url: "/gym/cabinet/ajaxCabinet",
                    cache : false,  //禁用缓存
                    data: param,    //传入已封装的参数
                    dataType: "json",
                    success: function(result) {
                        //setTimeout仅为测试延迟效果
                        setTimeout(function(){
                            //异常判断与处理
                            if (result.errorCode) {
                                toastr['error']("查询失败errorCode:"+result.errorCode);
                                close_loading();
                                return;
                            }
 
                            //封装返回数据，这里仅演示了修改属性名
                            var returnData = {};
                            returnData.draw = data.draw;//这里直接自行返回了draw计数器,应该由后台返回
                            returnData.recordsTotal = result.total;
                            returnData.recordsFiltered = result.total;//后台不实现过滤功能，每次查询均视作全部结果
                            returnData.data = result.pageData;
                            //关闭遮罩
                            //调用DataTables提供的callback方法，代表数据已封装完成并传回DataTables进行渲染
                            //此时的数据需确保正确无误，异常判断应在执行此回调前自行处理完毕
                            callback(returnData);
                        },200);
                        close_loading();
                    },
                    error: function(XMLHttpRequest, textStatus, errorThrown) {
                       toastr['error']("查询失败");
                       close_loading();
                    }
                });
        },
        columns: [
            CONSTANT.DATA_TABLES.COLUMN.CHECKBOX,
            {	
                data: "cabinet_no",
               render : CONSTANT.DATA_TABLES.RENDER.ELLIPSIS,//会显示省略号的列，需要用title属性实现划过时显示全部文本的效果
            },
            {
                data: "region_name",
                render : CONSTANT.DATA_TABLES.RENDER.ELLIPSIS,//会显示省略号的列，需要用title属性实现划过时显示全部文本的效果
            },
            {
                data: "price",
                render : CONSTANT.DATA_TABLES.RENDER.ELLIPSIS,//会显示省略号的列，需要用title属性实现划过时显示全部文本的效果
            },
            {
                data: "status",
                render : function(data){
                    if(data==1){
                        return "<span class='label label-info cabinet_status' data-status='1'>未使用</span>";
                    }else if (data == 2){
                        return "<span class='label label-danger cabinet_status'  data-status='2'>已使用</span>";
                    } else if(data == 3) {
                        return "<span class='label label-warning cabinet_status'  data-status='3'>未解绑</span>";
                    } else {
                        return "<span class='label label-danger cabinet_status' data-status='0'>未知</span>";
                    }
                }
            },
            {	
                data: "create_time",
                render :CONSTANT.DATA_TABLES.RENDER.ELLIPSIS,
            }
            
        ],
        "createdRow": function ( row, data, index ) {},
        "drawCallback": function( settings ) {
           // $(":checkbox[name='cb-check-all']",$wrapper).prop('checked', false);
            //默认选中第一行
           // $("tbody tr",$table).eq(0).click();
        }
    })).api();//此处需调用api()方法,否则返回的是JQuery对象而不是DataTables的API对象
     $("#myform  #btn-advanced-search").click(function(){
			_table.draw();
		});
		
		//行点击事件
		$("tbody",$table).on("click","tr",function(event) {
			$(this).addClass("active").siblings().removeClass("active");
			//获取该行对应的数据
			var item = _table.row($(this).closest('tr')).data();
	    });
})()
